package com.gljx.web.dao;

import java.util.List;
import java.util.Map;

import com.gljx.web.Entity.*;
import org.apache.ibatis.annotations.Param;

import org.springframework.stereotype.Component;

@Component
public interface SystemMapper {

    /**
     * 所有昨天创建的用户
     *
     * @return
     * @author LiXiang  @date 2017年10月17日 上午2:44:51
     */
    List<User> selectEasCreatUser();

    /**
     * 昨天离职的用户
     *
     * @return
     * @author LiXiang  @date 2017年10月17日 下午3:59:45
     */
    int updateEasUpdateUser(User user);

    /**
     * 插入菜单浏览数据
     *
     * @return
     * @author LiXiang  @date 2017年11月3日 下午1:40:22
     */
    Map<String, Object> menuMemory(Map<String, Object> data);

    /**
     * 查询该用户是否有未处理事务
     * @Author:  LiXiang
     * @Date: Created in 2018/2/8 14:11
     * @param userName
     * @param companyId
     * @param PID
     * @return
     */
    Integer selectHasMessage(@Param("userName")String userName,@Param("companyId")String companyId,@Param("PID")String PID);


    /**
     * 清理菜单记忆
     *
     * @param data
     * @return
     * @author LiXiang  @date 2017年11月3日 下午2:46:13
     */
    Map<String, Object> cleanMenuMemory(Map<String, Object> data);

    /**
     * 用户插入公司设置数据
     *
     * @return
     * @author LiXiang  @date 2017年11月13日 上午11:23:15
     */
    Integer companyMemory(Map<String, Object> data);

    /**
     * 组织列表
     *
     * @return
     * @author LiXiang  @date 2017年11月14日 上午10:29:10
     */
    List<Company> selectCompanyByUser(@Param("userId") Integer userId,
                                      @Param("company_num") Integer company_num);

    /**
     * 菜单
     *
     * @param userId
     * @param PID
     * @return
     * @author LiXiang  @date 2017年11月14日 上午11:22:01
     */
    List<Power> findTree(@Param("userId") Integer userId,
                         @Param("PID") String PID);

    List<Menu> testFindTree(@Param("userId") Integer userId,
                         @Param("projectId") String PID);

    /**
     * 公司同步
     *
     * @param data
     * @return
     * @author LiXiang  @date 2017年12月12日 上午10:09:08
     */
    Map<String, Object> syncCompany(Map<String, Object> data);

    /**
     * 部门同步
     *
     * @param data
     * @return
     * @author LiXiang  @date 2017年12月12日 上午10:09:17
     */
    Map<String, Object> syncDept(Map<String, Object> data);

    /**
     * 三年清零
     * @Author:  LiXiang 
     * @Date: Created in 2018/2/23 10:57
     * @param data
     * @return
     */
    Map<String, Object> disCardStudent(Map<String, Object> data);

    /**
     * 获取三年清零五次清零学员
     * @Author:  LiXiang
     * @Date: Created in 2018-07-02 11:16
     * @param type
     * @return
     */
    List<Student> getStud(@Param("type") Integer type);

    /**
     * 获取指定险种的到期车辆
     * @Author:  LiXiang
     * @Date: Created in 2018-07-02 11:16
     * @param type
     * @return
     */
    List<Car> getCar(@Param("type") String type);
}
